java 无法访问Linux下中文目录路径和中文文件名 |
您所在的位置:网站首页 › linux 中文文件 › java 无法访问Linux下中文目录路径和中文文件名 |
1、首先说下linux下的文件分隔符问题,window下是\, 如c:\tomcat\abc.txt这样可以,但linux下都是/,如/u01/tomcat/abc.txt。如果路径不对,也会找不到文件!
2、 String url="/u01/tomcat/中文.txt " 或者String url="/u01/tomcat/中文/烦死人.txt "
如果路径中带中文的文件夹,或名字,用new File(url);用函数file.exists()会返回false, 刚开始我还以为我的路径要转编码,于是试了各种转编码,iso-8859-1,utf-8,gbk,gb2312。。。都转了,都没用。
我代码是在win上编译的,在linux下运行的,发现在window下用System.getProperty("file.encoding")得到的是gbk,但在linux下是utf-8。在代码中转编码看来是没用的了,于是想到改操作系统的文件系统编码,于是: vi /etc/sysconfig/i18n文件,改为LANG="zh_CN.GBK",我试了,改为utf-8也没用,中文乱码,只有改为gbk,改完后再不重启的情况下,使配置生效:source /etc/sysconfig/i18n,结果就可以了,可以正常操作了! 其实这个操作都是临时的,编码也只是零时改了,我用SecureCRT工具,退出会话,再进,编码又回到以前去了,,重启了,感觉好像也没效果,于是,没办法, vi /etc/profile,在文件末尾加上 export LANG="zh_CN.GBK" export LC_ALL="zh_CN.GBK" 重新启动系统 reboot linux 一切都OK了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |